An increasing number of applications today make use of digital video signals for various purposes including, for example, business meetings between people in remote locations via video conferencing, high definition video entertainment, video advertisements, and sharing of user-generated videos. As technology is evolving, users have higher expectations for video quality and resolution even when video signals are transmitted over communications channels having limited bandwidth.
To realize transmission of higher quality video while limiting bandwidth consumption, a number of video compression schemes have been developed—including formats such as VPx, promulgated by Google Inc. of Mountain View, Calif., and H.264, a standard promulgated by ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG), including present and future versions thereof. H.264 is also known as MPEG-4 Part 10 or MPEG-4 AVC (formally, ISO/IEC 14496-10). These schemes may denote each image of a video as a frame, and subdivide each frame into groups of pixels called macroblocks or blocks.
These compression schemes may use prediction techniques to minimize the amount of data required to transmit video signals by using, for example, the spatial and temporal coherences in video information. Prediction techniques can allow for multiple past transmitted frames and future frames to be used as potential reference frame predictors for macroblocks in a frame.
A video stream encoded by these compression schemes will have frames with a constant pixel resolution. Pixel resolution is the number of pixels in a frame as measured by the number of pixel rows and columns. Some compression schemes have the ability to reduce the pixel resolution (downscaling) of each frame before encoding to facilitate more efficient encoding. In such a compression scheme, the decoder will increase the pixel resolution (upscaling) of each frame in the decoded image so that frames in the final decoded video will have the same pixel resolution as the original frames. For example, a video stream having frames with a pixel resolution of 800×600 could be down-sampled to a pixel resolution of 400×300, encoded at a pixel resolution of 400×300, and then up-sampled back to 800×600 after decoding.